<template>
  <div class="row">
    <div v-show="data.list.length > 0" class="card" v-for="item of data.list" :key="item.id">
      <a :href="item.html_url" target="_blank">
        <img :src="item.avatar_url" style='width: 100px'/>
      </a>
      <p class="card-text">{{item.login}}</p>
    </div>
    <!-- 展示欢迎词 -->
    <h1 v-show="data.isFirst">欢迎使用！</h1>
    <!-- 展示加载中 -->
    <h1 v-show="data.isLoading">加载中....</h1>
    <!-- 展示错误信息 -->
    <h1 v-show="data.errMsg">{{ data.errMsg }}</h1>
  </div>
</template>

<script>
export default {
  name: 'ListView',
  data() {
    return {
      data: {
        isFirst: true,
        isLoading: false,
        errMsg: '',
        list: []
      }
    }
  },
  mounted() {
    this.$bus.$on('getList', data => {
      this.data = {
        ...this.data,
        ...data,
      };
    });
  }
}
</script>

<style lang="less" scoped>
.album {
  min-height: 50rem; /* Can be removed; just added for demo purposes */
  padding-top: 3rem;
  padding-bottom: 3rem;
  background-color: #f7f7f7;
}

.card {
  float: left;
  width: 33.333%;
  padding: .75rem;
  margin-bottom: 2rem;
  border: 1px solid #efefef;
  text-align: center;
}

.card > img {
  margin-bottom: .75rem;
  border-radius: 100px;
}

.card-text {
  font-size: 85%;
}

</style>